#include<bits/stdc++.h>
#define fi first
#define se second
#define int long long
namespace IO{
    template<typename T>
    void read(T &x){
        char ch=getchar();int fl=1;x=0;
        while(ch>'9'||ch<'0'){if(ch=='-')fl=-1;ch=getchar();}
        while(ch<='9'&&ch>='0'){x=x*10+ch-48;ch=getchar();}
        x*=fl;
    }
    template<typename T,typename ...Args>
    void read(T &x,Args& ...args){
        read(x);read(args...);
    }
    template <typename _Tp>
    void write(_Tp x) {
        if(x<0) x=(~x+1),putchar('-');
        if(x>9) write(x/10);
        putchar(x%10+'0');
    }
}
using namespace std;
using namespace IO;
const int N=2e6+5,mod=998244353;
int n,k,a[N],b[N],pre[N],f[5005][5005];
signed main() {
#ifndef KAxdd
#ifndef ONLINE_JUDGE
    freopen("festival.in","r",stdin);
    freopen("festival.out","w",stdout);
#endif
#endif
    int Testc,Test; read(Testc,Test);
    while(Test--) {
        read(n,k);
        for(int i=1;i<=n;i++) pre[i]=0;
        for(int i=1;i<n;i++) read(a[i]);
        for(int i=1;i<=k;i++) {
            read(b[i]);
            pre[i]+=b[i];pre[n-k+i+1]-=b[i];
        }
        for(int i=1;i<=n;i++) pre[i]+=pre[i-1]; 
        for(int i=1;i<=n;i++) memset(f[i],-0x3f,sizeof f[i]);
        for(int i=0;i<=a[1];i++) f[1][i]=pre[1]*i;
        a[n]=1e18;
        for(int i=2;i<=n;i++) {
            int Max=0;
            for(int j=a[i-1];j>=0;j--) {
                Max=max(Max,f[i-1][a[i-1]-j]);
                f[i][j]=max(f[i][j],Max+pre[i]*j);
            }
        }
        int Max=0;
        for(int i=0;i<=a[n-1];i++) Max=max(Max,f[n][i]);
        printf("%lld\n",Max); 
    }
    return 0;
}
/*
0 1
250 58
159 72 128 152 225 119 83 72 188 180 205 216 24 233 126 114 57 159 120 117 144 109 246 226 73 186 88 112 126 138 25 6 170 89 166 110 157 124 142 5 137 205 81 186 62 97 43 60 180 14 83 165 129 19 24 230 55 116 245 136 196 103 17 241 20 5 230 90 45 82 37 185 181 212 75 35 248 131 185 141 236 129 124 191 2 32 38 243 237 70 219 9 75 148 19 30 137 60 102 104 15 234 209 2 140 20 208 86 121 205 59 71 148 51 140 32 58 144 111 185 21 142 54 208 86 78 86 55 114 72 219 7 106 92 9 216 124 105 171 156 205 108 9 243 32 159 50 26 148 138 125 106 123 215 75 63 135 50 31 94 190 224 248 178 68 193 193 119 19 249 51 6 212 151 58 243 73 242 75 8 64 33 173 235 99 213 65 201 170 213 197 136 181 4 36 92 139 73 112 70 231 239 50 70 178 61 54 236 112 100 147 88 198 205 106 215 170 90 134 220 165 90 65 235 55 144 43 105 110 172 65 61 142 55 110 67 130 84 204 162 3 204 156 32 184 28 119 62 36 
846857279 167828112 607201718 886136119 336737897 589120065 830566266 487633342 142869045 728073277 220278361 339175806 405748500 392167665 699835711 765043755 915220407 600432452 243044753 618370712 731325452 85669134 985293982 555279319 839786417 438616108 370546682 233065967 951700548 924341883 128316472 631146530 739498590 255406119 920181268 990559786 492965293 619615154 399269694 902679428 154753796 982560579 517994559 52151111 396458564 395404695 228671554 567215065 182521081 221730507 217438921 993355496 66794606 447027748 92813860 341575353 349828402 153880790 
57947350230
*/